SQL псевдонимы используются для предоставления таблицы или столбца в таблице временного имени.
Псевдонимы часто используются, чтобы сделать названия столбцов более читабельными.
Псевдоним существует только в течение текущего запроса.
Псевдоним создается с помощью AS.
SELECT column_name AS alias_name
FROM table_name
SELECT column_name(s)
FROM table_name AS alias_name
Ниже приведена выборка из таблицы "Customers" ("Клиенты"):
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
И выборка из таблицы "Orders" ("Заказ"):
ProductID | OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|---|
1 | 10248 | 90 | 5 | 1996-07-04 | 3 |
2 | 10249 | 81 | 6 | 1996-07-05 | 1 |
3 | 10250 | 34 | 4 | 1996-07-08 | 2 |
Нижеследующая SQL-инструкция создает два псевдонима: один для столбца CustomerID и другой для столбца CustomerName:
Run SQLSELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers
Следующая инструкция SQL создает два псевдонима: один для столбца CustomerName и один для столбца ContactName.
Примечание: Он требует двойных кавычек или квадратных скобок, если псевдоним содержит пробелы:
Run SQLSELECT CustomerName AS Customer, ContactName AS 'Contact Person'
FROM Customers
Следующая SQL-инструкция создает псевдоним с названием "Address" ("Адрес"), который объединяет четыре столбца (адрес, почтовый индекс, город и страна):
SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers
Чтобы приведенная выше SQL-инструкция работала в MySQL, воспользуйтесь следующим:
Run SQLSELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers
Чтобы приведенная выше SQL-инструкция работала в Oracle, воспользуйтесь следующим:
SELECT CustomerName, (Address || ', ' || PostalCode || ' ' || City || ', ' || Country) AS Address
FROM Customers
Следующая инструкция SQL выбирает все заказы от клиента из CustomerID = 4 ("Around the Horn"). Мы используем таблицы "Customers" и "Orders" и предоставляем им псевдонимы таблиц "c" и "o" соответственно (здесь мы используем псевдонимы, чтобы сделать SQL-запрос короче):
Run SQLSELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName = 'Around the Horn' AND c.CustomerID = o.CustomerID
Следующая SQL-инструкция такая же, как и выше, но без псевдонимов:
Run SQLSELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName = 'Around the Horn' AND Customers.CustomerID = Orders.CustomerID
Псевдонимы могут быть полезны, если: